1. Field of the Invention
The present invention relates generally to a data processing system. More specifically, the present invention relates to enterprise information systems and an enhancement of assured event delivery for enterprise information systems.
2. Description of the Related Art
Adapters allow business events to flow from an Enterprise Information System (EIS) to a listening client such as a business process or other application. An Enterprise Information System is an application that stores data that is used for business systems. An event is a change that has occurred within the Enterprise Information System that also needs to be propagated into another system. Therefore, an event serves as a marker for what has changed. The Java 2 Enterprise Edition (J2EE) standard defines a standard approach to building these adapters outlined in the J2EE Connector Architecture (JCA) specification.
One aspect that is critical to adapter development is “assured event delivery.” Assured event delivery means that business events from the EIS flow to the client with the assurance that they will be delivered once and only once. Without assured event delivery, the integrity of the business data or process can be corrupted due to, for example, an account being de-bitted more than once or not at all. One means that is often employed to provide assured event delivery is the use of transactions. The J2EE Connector Architecture supports delivery of events in the context of XA transactions. XA transactions are global transactions. A global transaction means that there are two or more systems participating in one operation, which will either succeed or fail. There is no interim state for a global transaction. The XA specification is published by The Open Group. The XA specification is also known as the X/Open Distributed Transaction Processing Model.
The difficulty with XA transactions is that exposing support for XA transactions generally requires the EIS to inherently support XA transactions, which, unfortunately, very few EIS systems do. One solution to the problem of supporting XA transactions and subsequently assured event delivery is to stage the events in an XA compliant data store. However, the use of an XA compliant data store to stage the events increases the number of components necessary to support assured event delivery. In turn, increased component usage increases the, potential for error, the overhead for running multiple components, and the complexity of administration of the system. Additionally, the data is not as easily viewed and managed. Therefore, it would be desirable to be able to properly map the capabilities of the EIS onto the XA interface in such a way that the EIS can be enlisted in an XA transaction.